/*
 * File:    ShutdownHookInterface.java
 * Created: 22-Nov-2007
 *
 * by Kenji Hollis <kenji@bitgatesoftware.com>
 * Released under the Creative Commons License version 2.5
 */

package com.bitgate.util.shutdown;

/**
 * This is an interface class that is used by the {@link ShutdownHook} to control the shutting down of classes inside a
 * running server.
 * 
 * @author Kenji Hollis &lt;kenji@bitgatesoftware.com&gt;
 * @since 0.1
 */
public interface ShutdownHookInterface {
	
	/**
	 * Tells the underlying service to shut itself down.
	 */
	void shutdown();
	
	/**
	 * Indicates whether or not the service has been completely shut down.
	 * 
	 * @return <code>true</code> if the service is shut down, <code>false</code> otherwise.
	 */
	boolean isShutdown();
	
}